Interactive delivery of media using dynamic playlist generation subject to restrictive criteria

ABSTRACT

A media delivery scheme distributes a stream of media files to a group of users while allowing individual users to request specific media files. In one embodiment, a media server maintains a playlist of media files to broadcast, and requests for media must satisfy certain restrictive criteria to be added to the playlist. In another aspect of a preferred embodiment, the media server schedules requested media so as to comply with provisions of the DMCA.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of prior application No. 10/021,752,filed Mar. 29, 2001, titled “INTERACTIVE DELIVERY OF MEDIA USING DYNAMICPLAYLIST GENERATION SUBJECT TO RESTRICTIVE CRITERIA,” having AttorneyDocket No. REAL-2006036 (RN118), and naming the following inventors:James P. Lester, and Alexander J. Kirk. Which is a non-provisional ofand claims priority from U.S. provisional patent application Ser. No.60/244,079, filed Oct. 27, 2000, both are hereby incorporated byreference.

BACKGROUND OF THE INVENTION

The invention relates to electronic media delivery, and moreparticularly, to interactive delivery of electronic media over a networkto a group of users.

Advances in communications technology have enabled many new applicationsfor delivery of electronic media over computer networks, such as theInternet. Because of this ability, people have increasingly turned toon-line sources for their various media requirements. The Internet hasthus become a major source for providing users with music, in partreplacing conventional radios and other means for receiving musicentertainment. In the field of online music delivery, the twotraditional methods for delivering music are radio-style “broadcasts”and single file requests.

Online, radio-style broadcasts deliver media in a continuous orstreaming fashion to multiple clients, which are typically personalcomputers owned by users. Streaming media technology enables the realtime delivery of audio, video, and multimedia over the Internet. Withstreamed media, a user does not have to wait until a download to theircomputer is complete before seeing the video or hearing the sound.Instead, the media files are sent in a continuous stream and are playedby the client computer system as sufficient data is received and storedin the client's buffer for playing the media file. After being played,the streamed media file is not stored on the client, so the media willnot take up space on the client's storage device. In a radio-stylebroadcast, a media service provider delivers a particular sequence ofmedia files that has been compiled into a playlist before transmissionof those files. To ensure compliance with the law and quality control,the playlists can be designed using a set of restrictive criteria. Theserestrictive criteria help to define the media that is broadcast. Mediafiles are then broadcast according to this playlist, and users can“tune” into or out of the broadcast using either standard or proprietarysoftware.

Sometimes, a broadcasting entity broadcasts specific programs of mediaover multiple “channels.” With their client computers, users can tuneinto any of these channels to receive the corresponding media broadcast.Often, these channels are organized by genre of media, such as type ofmusic in the case of audio delivery. Again, applying differentrestrictive criteria to the playlists that correspond to each channelhelps to maintain a qualitative difference between the media content onthe channels.

Traditional streaming media broadcasts allow users to tune intoparticular channels of interest, but they have not provided the abilityto dynamically modify the playlist on the fly in response to requestsfrom the users, nor have they offered the ability to apply restrictivecriteria to those requests. As a result, users are limited to receivingselections in the playlist and cannot send requests to the server tobroadcast other songs, videos, or other media items.

For single file requests, individual users request and retrieve singlemedia files in isolation. Several files can be obtained by multiplefile, or batch, requests. Services that allow users to download singlefiles on demand can provide means for searching for desired media fileson a database maintained by the service. Whether using single file orbatch requests, these types of media file retrieval systems aretypically not subject to restrictive criteria that limit delivery of themedia. These media files are typically not played until fullydownloaded, and seamless play is not provided. Moreover, receiving mediavia single file requests is time intensive, requiring each user tointeractively select media files and facilitate the downloads. Thismethod is therefore undesirable for users that simply wish to tune intoa broadcast.

A significant barrier to entry for business to provide media delivery ofcopyrighted works is acquiring licenses or other rights to distributethe media. In the case of music delivery, acquiring licenses or rightsfor every piece of music for distribution could be a daunting task. Inrecognition of this burden, Congress passed the Digital MillenniumCopyright Act (DMCA), which allows service providers to obtain astatutory license as long as fewer than a substantial portion of theprogramming consists of songs delivered within an hour of the request orat a time specified by the broadcaster. With a statutory license, amedia service would be free to broadcast any commercially availablerecordings without negotiating individual licenses with the contentowners, as long as the service complied with the DMCA. It wouldtherefore be advantageous to provide a media delivery service thatallowed for passive and active reception by an audience, while complyingwith the provisions of the DMCA to enable a service provider to obtain astatutory license.

BRIEF SUMMARY OF THE INVENTION

To provide the benefits of both radio-style broadcasts and single filerequest systems, a hybrid media delivery scheme distributes a stream ofmedia files to a group of users while allowing individual users torequest particular media files. In an embodiment, a media serviceprovider broadcasts streaming media from a media server over a computernetwork to the client computers of each user in the group. Usingclient-side hardware and/or software, the users may each tune in and outof the broadcast. During a broadcast, individual users may send specificmedia requests from their client computers to a media server at themedia service provider. The media server receives and processes eachrequest. If a playlist including the requested media would meet a set ofrestrictive criteria, the media server will seamlessly schedule therequested media for later broadcasting to the clients. In an aspect ofan embodiment, the media server attempts to schedule the requested mediafor later broadcast so that the restrictive criteria will be satisfied.

In one implementation, the media server maintains a playlist thatdefines which media are to be broadcast and their sequential order. Themedia server responds to media requests from clients by updating thisplaylist to add the requested media. In an aspect of a preferredembodiment, the media server adds the requested media to the playlist soas to comply with restrictions on the timing and frequency of play ofthe requested media.

This hybrid scheme beneficially provides for both active and passive useby different users at the same time. Users may actively seek aparticular media file by looking through an online media library 106 fora selection, while other users can tune into a media broadcast andpassively receive a media program as modified by the requests of others.This approach gives users more options than traditional approaches, andit also better satisfies users' preferences. While any preselected mediaprogram is likely designed with users' preferences in mind, this hybridfunctionality allows the users to affect the media broadcast.Accordingly, the media broadcast more closely mirrors its audience'spreferences than would a traditional radio-style broadcast having arigid playlist composed in advance or at the commencement of thebroadcast. Applying certain restrictive criteria to the client requestsfurther ensures a level of quality control and standards in the mediabroadcast.

In one aspect of the invention, fewer than a substantial number ofrequested media files are broadcasted within an hour of receiving thecorresponding request, or at a time that a user is informed that therequested media file will be broadcasted. Under the DMCA, this allowsthe media service provider to obtain a statutory license to broadcastcopyrighted material. Allowing service provider to comply with thestatutory license requirements of the DMCA effectively decouplesacquisition of subscription rights from entry to market and delivery ofservice. A significant barrier to entry for media service providers isthus reduced.

In another aspect of an embodiment, different media broadcasts aredistributed over different channels on a network, and clients can tunebetween and in and out of the various channels. A specific playlist ismaintained for managing the media delivery over each channel, asexplained above, and clients can make media requests specific toindividual channels. Advantageously, the channels can be used toorganize the media broadcasts into different categories, or genres. Useof multiple channels also increases the benefit that the mediabroadcasts, affected by user requests, will better mirror thepreferences of the group. As people of like preferences will tend totune into and make requests from the same channels, passive users willtune into channels affected by other users having similar tastes. Thesepassive users will thus benefit by receiving media broadcasts thatreflect the preferences of others with whom they share common mediatastes.

In another aspect, users can be distinguished between those who pay afee to the media service provider (subscribers) and those who do not(non-subscribers). Subscribers are given added rights to access channelsin the system and/or to make requests, whereas non-subscribers are givenfewer or no rights to request media. People are often reluctant to payfor something before trying it. Giving limited access to non-subscribersallows users to try the service before subscribing to it, while stillproviding them with an incentive to become subscribers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an embodiment showing communications betweencomponents.

FIG. 2 is a flowchart of an embodiment of the media server requestprocessing functionality.

FIG. 3 is a block diagram of the communications connections of anembodiment of the media delivery scheme.

DETAILED DESCRIPTION OF THE INVENTION

The following description relates to the delivery of media by a mediaserver 100 to one or more clients 102. It is intended that the term“media” refer to information in any of a wide variety of formats. Inthis context, the term connotes sound, video images, or a combination ofseveral types of media—sometimes referred to as multimedia.

FIG. 1 depicts a schematic view of one embodiment, wherein a mediaserver 100 is communicatively coupled to a client 102. In a preferredembodiment, the media server 100 is coupled to multiple clients 102 viaa network, such as the Internet; however, only one client 102 is shownin FIG. 1 for purposes of explanation. The media server 100 typicallycomprises a computer system maintained by an entity such as a mediaservice provider. The client 102 comprises a system owned by a usercapable of receiving media over a network, such as a personal computer.Alternatively, the client 102 may be another device equipped to receiveand play media, such as a cellular telephone or a personal digitalassistant (PDA). As used herein, “network” and “computer network”connote any communications network over which electronic devices cansend or receive electronic media.

The media server 100 is adapted to broadcast streaming media to multipleclients 102. To this end, the media server 100 comprises a processor 104that controls the functionality of the media server 100. The mediaserver 100 further comprises a storage medium for electronically storinga media library 106, which comprises media files used in the broadcasts.The media library 106 may be physically located in a storage device ofthe media server 100, or it may be located in storage devices remotefrom the media server 100 but communicatively coupled thereto. Forexample, the media server 100 may be coupled to the media library 106over a network 110 (see FIG. 3), wherein the media server 100 retrievesmedia files from the media storage over the network 110 as the mediafiles are needed for broadcasting.

In a preferred embodiment, the media server 100 maintains a playlist 108that defines which media are to be broadcast and their sequential order.Preferably, this playlist 108 is stored in a playlist 108 memory on themedia server 100, e.g., in the media server's random access memory(RAM). As with the media library 106, the playlist 108 may be stored ina remote memory location and accessed via a network connection.

The media server 100 broadcasts streaming media over the network 110 tothe clients 102. In one embodiment, the media server 100 sends mediafiles according to the media playlist 108 to a specific network address(e.g., to an IP address) of the client. Using a combination of hardwareand software, the clients 102 receive the media files over the computernetwork 110 by selecting the same network address to which the mediaserver 100 sends the media files. In this way, clients 102 “tune” in andout of the media server's broadcast.

The media server 100 may broadcast or send media files to multiplenetwork addresses, enabling “channels” to which the clients 102 can tunein and out, e.g., by communicating with the network address associatedwith each channel. Alternatively, the media server 100 can delivermultiple channels of media by broadcasting the media for each channel toa single IP address, and clients 102 tune into a particular channel byselecting that IP address and using a protocol for selecting from amongthe broadcasts. The client 102 may employ standard software forreceiving the media broadcasts in standard formats, as severalcommercially available formats and software that enable streaming mediaand other continuous or seamless media broadcasting are well known inthe art.

Upon receiving the media broadcast, each client 102 that is tuned intothe broadcast then plays the media files as it receives them. In oneembodiment, a complete electronic copy of the media file played is notkept on the client 102. This allows a client 102 to receive and playmedia without devoting the client's storage space to that media and,more importantly, does not allow unauthorized copies of the media fileto be made. In this way, this media delivery scheme can be thought of as“simulated” media delivery. Alternatively, all or a portion of the mediafiles may be retained on the client 102. Keeping all or a portion of themedia files on the client 102 saves bandwidth the next time a media fileis to be delivered, as it eliminates the need to transfer the entiremedia file from the media server 100 to the client 102 a second time. Inaddition, the media server 100 can store all or a portion of the mediafiles in a media database on the client 108, allowing for real-timemedia delivery with less required bandwidth.

In addition to receiving media from the media server 100, individualclients 102 can transmit specific media requests to the media server 100while simultaneously receiving the broadcast. In a preferred embodiment,the processor 104 receives and processes each client's media requestduring the interactive broadcast 220, as shown in the flowchart of FIG.2. Before the interactive broadcast 220 begins, the media server 100generates 200, or is otherwise provided with, all or a portion of aplaylist 108 that satisfies a set of restrictive criteria. This playlist108 is preferably stored in memory (e.g., RAM) at the media server 100.The media server 100 broadcasts 202 media to the plurality of clients102 in accordance with the playlist 108. The media server 100 is adaptedto receive 204 media requests from the clients 102 over the computernetwork 110. Preferably, the media server 100 can receive 204 andprocess several media requests from several clients 102 at a time.

Upon receiving 204 a request, the media server 100 evaluates 206 therequest using a set of restrictive criteria. In this context, “set” isunderstood to include a single restrictive criterion. In a preferredembodiment, the restrictive criteria are easily implemented and modifiedby programming software that controls the processor 104. The set ofrestrictive criteria may include, for example, one or more conditionsthat pertain to attributes of the media file. For example, if the mediaserver 100 is programmed to broadcast music of a particular genre, therestrictive criteria might include conditions that would preclude mediafiles outside that genre from being added to the playlist 108.Additionally, the restrictive criteria can specify that the media filecannot have already been played within a predetermined period of timebefore the request. At a very basic level, the restrictive criteria maysimply be that the request is valid, e.g., that it specifies anavailable media file.

If the media request satisfies 208 the restrictive criteria, theprocessor 104 schedules 210 the requested media file into the playlist108 by updating the playlist 108 to incorporate the requested mediafile. If the request does not satisfy all of the restrictive criteria208, it is not scheduled 210 into the playlist 108, and the media server100 continues to broadcast 202 media while waiting for other requestsfrom a client 102. Restrictive criteria may pertain to the playlist 108itself or to requests for media from the clients 102.

In another preferred embodiment, the restrictive criteria may affecthow—in addition to whether—the media server 100 schedules 210 requestedmedia into the broadcast. Preferably, the media server 100 attempts toschedule 210 requested media files into the playlist 108 so as tosatisfy the restrictive criteria, if possible. For example, if therestrictive criteria comprise the requirement that the media must not bedelivered within an hour of the request, the media server 100 attemptsto schedule 210 each request into the playlist 108 so that the requestedmedia will not be delivered within an hour of the request. The mediaserver 100 does not schedule 210 a requested media file into theplaylist 108 if it cannot do so and satisfy all of the restrictivecriteria.

The playlist 108 provides a guide for the media server 100 to broadcastmedia to the clients 102. As FIG. 1 shows, the processor 104 of themedia server 100 reads the playlist 108 to determine which media file itshould broadcast next. After the processor 104 receives the identity ofthe next media file from the playlist 108, the processor 104 requeststhat media file from the media library 106. In response, the medialibrary 106 then sends the requested media file to the processor 104 forbroadcasting. In this way, the media server 100 thereafter broadcastsmedia to the clients 102 according to the updated playlist 108, whichincludes requested media files that satisfy the restrictive criteria.

In another embodiment, the media server 100 broadcasts specific programsof media over multiple “channels.” Advantageously, the channels can beorganized to provide media of different types, categories, or genres.Referring to FIG. 3, the media server 100 maintains a playlist 108 and achannel-specific set of restrictive criteria for each channel on whichit broadcasts media. Clients 102 access the channels via a network 110,and can receive media on a channel while simultaneously requesting mediafor a channel. Each media request specifies a media file and the channelon which the client 102 desires it to be broadcasted. For each channel,when the media server 100 receives 204 a media request, the media server100 evaluates 206 the request and schedules 210 it into the playlist 108if the requested media satisfies 208 that channel's restrictivecriteria. Accordingly, media requests for each channel affect the mediabroadcast on that channel if the request satisfies the restrictivecriteria associated with the channel.

The restrictive criteria applied to each request may depend on thechannel in connection with which the request was made. Using distinctsets of restrictive criteria may beneficially help to maintain thelogical character or category of each channel. For example, the mediaserver 100 may broadcast a program of classical music on one channel anda program of rock music on another. The categories of classical and rockmusic would define two distinct sets of group preferences. Accordingly,the restrictive criteria used in connection with each channel arepreferably selected so that media played on each channel must conform tothe set of group preferences associated with each channel. If a client102 were to request a rock music song on the classical music channel,the request would not satisfy the restrictive criteria; therefore, therequested rock song would not be added to the classical music channel'splaylist 108. The restrictive criteria thus enable the system tomaintain quality control.

One significant roadblock for a business to provide commercial mediadelivery is the existence of copyrights. Before distributing copyrightedworks, such as songs and movies, media service providers must obtainlicenses or rights to do so. Often, this requires individuallynegotiating such licenses from each of the copyright holders—possibly adaunting task for a business desiring to broadcast, e.g., music. TheDigital Millennium Copyright Act (DMCA) helps to solve this problem byallowing media service providers to obtain a statutory license oncopyrighted works as long as the service is not an “interactiveservice.” Under the DMCA, even if individuals can request specific soundrecordings, a service is not “interactive” as long as “the programmingon each channel of the service does not substantially consist of soundrecordings that are performed within one hour of the request or at atime designated by either the transmitting entity or the individualmaking such request.” Allowing service provider to comply with thestatutory license requirements of the DMCA effectively decouplesacquisition of subscription rights from entry to market and thus reducesa significant barrier to entry for media service providers.

Accordingly, in an aspect of a preferred embodiment, the systemdescribed herein allows media service providers to obtain a statutorylicense under the DMCA by automatically complying with its provisions.This is accomplished, e.g., through the application of restrictioncriteria to requested media files, or by scheduling requested files intothe playlist 108 so they will be delivered accordance with the DMCA.Referring to FIG. 2, a requested media file is scheduled 210 into theplaylist 108 if the request satisfies 208 certain restrictive criteria.In an embodiment, the processor 104 schedules 210 the media file intothe playlist 108 in a way that will comply with the relevant provisionsof the DMCA for obtaining a statutory license. Specifically, theprocessor 104 schedules 210 the media file into the playlist 108 so thatthe media server 100 will broadcast 202 fewer than a substantial numberof requested media files (1) within an hour of receiving 204 the requestfor the corresponding media file, or (2) at a time that a client 102 isinformed that the requested media file will be broadcast 202.

The processor 104 can be programmed to schedule 210 the media files tothe playlist 108 in accordance with any algorithm, such as thosedescribed above for complying with the DMCA. The processor 104 canaccess data associated with each media file in the playlist 108regarding a length of time that the media file takes to play. Theprocessor 104 is further communicatively coupled to a memory for storingdata relating to each request, such as the identity of the requesteditem and the time of the request. Before scheduling 210 a media filesinto a position in the playlist 108, the processor 104 uses these datato calculate whether the media file will be broadcast 202 with an hourof the request or at a time that a client 102 is informed that therequested media file will be broadcast 202. Accordingly, the processor104 is programmed to schedule 210 fewer than a substantial number ofmedia files at these times. In this context, a “substantial” number ofmedia files corresponds to the number of recordings that will disallow astatutory license under the DMCA.

In a preferred embodiment, some media files (but fewer than asubstantial number) are scheduled 210 into the playlist 108 so that theywill be delivered to the clients 102 soon—i.e., within an hour—aftertheir corresponding request. The remaining files are scheduled 210 to bedelivered more than one hour after the request therefor. In addition,the requested media files may be scheduled 210 at random positions inthe playlist 108, rather than at its end. Advantageously, these twofeatures ensure that the users will not know or be able to reliablypredict when the media they request will be delivered. This, in turn,requires the users to access the media server's broadcast for longerperiods of time, waiting for the requested media to be delivered.

Clients 102 can access the media server 100 using standard software,such as a web browser or media player, which a user could download andinstall on the client 102. In the case of using a standard browser, thefeatures would be implemented by web software on the media server 100,with which the clients 102 could interact. There currently exist severalstandard players for streaming media that can be used in connection withweb browsers. With custom software, however, the media server 100 candeliver more customized services to the clients 102, and the interactionbetween the media server 100 and clients 102 can be optimized.

The client software may be designed with several features to enhance themedia delivery. For example, in preferred embodiments, the softwareallows the users to tune to various channels offered by the media server100. In addition, the client software may recommend channels to a userbased on past usage. One particularly advantageous feature is allowingthe client 102 to search all or part of the available media files in themedia library 106. Using an interactive search much like those availablefor single file request systems, a user specifies certain searchparameters for the desired media. The media server 100 then deliverssearch results to the client 102, and the user may advantageouslydirectly request media files from the list of search results. Whilebroadcasting a particular media file, the client software may displayinformation relating to the current media being delivered (e.g., artistinformation, title of song, etc.) and allow the user to purchase themedia. Additionally, the client software may display advertising, whichcould be targeted to the user depending on available information such aschannel selections and the user's previous media requests.

In an aspect of a preferred embodiment, the system distinguishes usersbetween those who pay a subscription fee to the media service provider(subscribers) and those who do not (non-subscribers). Thenon-subscribers are given limited access or rights to the mediabroadcast compared to the subscribers. Recognizing that people are oftenreluctant to purchase something before trying it, this allowsnon-subscribers to access the media service before subscribing to it butstill provides an incentive for the non-subscribers to becomesubscribers. Various subscription schemes can be envisioned and areenabled by the present system. In one such scheme, all users are givenrights to access channels and receive broadcasts thereon, but onlysubscribers are allowed to make requests. This is easily implemented byrequiring as one of the restrictive criteria that the media requestoriginate from a subscriber. Alternatively, by programming the client102 and/or media server software, non- subscribers can be given lesser(e.g., a limited number of requests) or no rights to request media orlimited access to the channels.

The foregoing description of the embodiments of the invention has beenpresented for the purposes of illustration and description. It is notintended to be exhaustive or to limit the invention to the precise formdisclosed. Many modifications and variations are possible in light ofthe above teaching. It is intended that the scope of the invention belimited not by this detailed description, but rather by the claims.

1. A computer implemented method of interactively delivering media overa computer network from a media server to a plurality of clients, themethod comprising: generating a first playlist that defines a firstmedia file sequence, said first playlist satisfying a first set ofrestrictive criteria specified by a first client; generating a secondplaylist that defines a second media file sequence, said second playlistsatisfying a second set of restrictive criteria specified by a secondclient; receiving a request to add a first media file to said firstplaylist from a third client while broadcasting said first media filesequence on a first channel; broadcasting a first updated media filesequence on said first channel as a conditional response to adetermination that said first media file satisfies said first set ofrestrictive criteria specified by said first client, wherein said firstset of restrictive criteria preclude any media files outside a firstgenre specified by said first client from being added to said firstplaylist and wherein said first updated media file sequence is formed byscheduling said first media file into said first playlist; receiving arequest to add a second media file to said second playlist from a fourthclient while broadcasting said second media file sequence on a secondchannel; and broadcasting a second updated media file sequence on saidsecond channel as a conditional response to a determination that saidsecond media file satisfies said second set of restrictive criteriaspecified by said second client, wherein said second set of restrictivecriteria preclude any media files outside a second genre specified bysaid second client from being added to said second playlist and whereinsaid second updated media file sequence is formed by scheduling saidsecond media file into said second playlist. 2-3. (canceled)
 4. Themethod of claim 1, wherein said first set of restrictive criteriaincludes a condition that would preclude a media file from being playedwithin a defined period of time.
 5. The method of claim 1, wherein saidfirst set of restrictive criteria specified by said first clientcomprises whether said playlist satisfies a set of group preferences. 6.The method of claim 1, wherein said scheduling said first media fileinto said first playlist comprises: adding requested media files intosaid first playlist so that fewer than a substantial number of mediafiles will be transmitted within an hour of receiving said correspondingrequest, or at a time that a client is informed that said requestedmedia file will be transmitted.
 7. The method of claim 6, wherein saidscheduling said first media file into said first playlist furthercomprises: adding requested media files into said first playlist so thatat least one media file will be transmitted within an hour of receivingsaid corresponding request.
 8. The method of claim 1, wherein said mediaserver comprises a computer system having a memory, said method furthercomprising: maintaining said playlist in said memory of said mediaserver.
 9. The method of claim 1, further comprising: notifying thethird client that the first media file will be broadcast as aconditional response to said determination that said first media filesatisfies said first set of restrictive criteria; and notifying thefourth client that the first media file will be broadcast as aconditional response to said determination that said second media filesatisfies said second set of restrictive criteria.
 10. The method ofclaim 1, wherein said broadcasting is streaming audio.
 11. The method ofclaim 1, wherein said broadcasting said first updated media filesequence on said first channel as said conditional response to saiddetermination that said first media file satisfies said first set ofrestrictive criteria includes broadcasting the first media file at leastone hour after receiving the request to add the first media file to saidfirst playlist and wherein said broadcasting said second updated mediafile sequence on said second channel as said conditional response tosaid determination that said second media file satisfies said second setof restrictive criteria includes broadcasting the second media file atleast one hour after receiving the request to add the second media fileto said second playlist.
 12. The method of claim 1, wherein said firstand second media files and said first and second media file sequencesare all music files.
 13. A computer implemented method of interactivelydelivering media over a computer network from a media server to aplurality of clients, the method comprising: generating a first playlistthat defines a first media file sequence, said first playlist satisfyinga first set of restrictive criteria specified by a first client;generating a second playlist that defines a second media file sequence,said second playlist satisfying a second set of restrictive criteriaspecified by a second client; receiving a request to add a first mediafile to said first playlist from a third client while broadcasting saidfirst media file sequence on a first channel; broadcasting a firstupdated media file sequence on said first channel as a conditionalresponse to a determination that said first media file satisfies saidfirst set of restrictive criteria, wherein said first updated media filesequence is formed by scheduling said first media file into said firstplaylist; receiving a request to add a second media file to said secondplaylist from a fourth client while broadcasting said second media filesequence on a second channel; and broadcasting a second updated mediafile sequence on said second channel as a conditional response to adetermination that said second media file satisfies said second set ofrestrictive criteria, wherein said second updated media file sequence isformed by scheduling said second media file into said second playlist.14. The method of claim 13, wherein said media server comprises acomputer system having a memory, said method further comprising:maintaining said playlist in said memory of said media server.
 15. Themethod of claim 13, further comprising: notifying the third client thatthe first media file will be broadcast as a conditional response to saiddetermination that said first media file satisfies said first set ofrestrictive criteria; and notifying the fourth client that the firstmedia file will be broadcast as a conditional response to saiddetermination that said second media file satisfies said second set ofrestrictive criteria.
 16. The method of claim 13, wherein saidbroadcasting is streaming audio.
 17. The method of claim 13, whereinsaid broadcasting said first updated media file sequence on said firstchannel as said conditional response to said determination that saidfirst media file satisfies said first set of restrictive criteriaincludes broadcasting the first media file at least one hour afterreceiving the request to add the first media file to said first playlistand wherein said broadcasting said second updated media file sequence onsaid second channel as said conditional response to said determinationthat said second media file satisfies said second set of restrictivecriteria includes broadcasting the second media file at least one hourafter receiving the request to add the second media file to said secondplaylist.
 18. The method of claim 13, wherein said first set ofrestrictive criteria comprises a requirement that said first playlistonly incorporate requests originating from a subscriber of a mediaservice provider.
 19. The method of claim 13, wherein said first andsecond media files and said first and second media file sequences areall music files.